Interactive input systems that allow users to inject input such as for example digital ink, mouse events etc. into an application program using an active pointer (eg. a pointer that emits light, sound or other signal), a passive pointer (eg. a finger, cylinder or other object) or other suitable input device such as for example, a mouse or trackball, are well known. These interactive input systems include but are not limited to: touch systems comprising touch panels employing analog resistive or machine vision technology to register pointer input such as those disclosed in U.S. Pat. Nos. 5,448,263; 6,141,000; 6,337,681; 6,747,636; 6,803,906; 7,232,986; 7,236,162; and 7,274,356 and in U.S. Patent Application Publication No. 2004/0179001 assigned to SMART Technologies ULC of Calgary, Alberta, Canada, assignee of the subject application, the disclosures of which are incorporated by reference in their entireties; touch systems comprising touch panels employing electromagnetic, capacitive, acoustic or other technologies to register pointer input; tablet and laptop personal computers (PCs); smartphones, personal digital assistants (PDAs) and other handheld devices; and other similar devices.
Above-incorporated U.S. Pat. No. 6,803,906 to Morrison et al. discloses a touch system that employs machine vision to detect pointer interaction with a touch surface on which a computer-generated image is presented. A rectangular bezel or frame surrounds the touch surface and supports digital cameras at its corners. The digital cameras have overlapping fields of view that encompass and look generally across the touch surface. The digital cameras acquire images looking across the touch surface from different vantages and generate image data. Image data acquired by the digital cameras is processed by on-board digital signal processors to determine if a pointer exists in the captured image data. When it is determined that a pointer exists in the captured image data, the digital signal processors convey pointer characteristic data to a master controller, which in turn processes the pointer characteristic data to determine the location of the pointer in (x,y) coordinates relative to the touch surface using triangulation. The pointer coordinates are then conveyed to a computer executing one or more application programs. The computer uses the pointer coordinates to update the computer-generated image that is presented on the touch surface. Pointer contacts on the touch surface can therefore be recorded as writing or drawing or used to control execution of application programs executed by the computer.
In environments where the touch surface is small, more often than not, users interact with the touch surface one at a time, typically using a single pointer. In situations where the touch surface is large, as described in U.S. Pat. No. 7,355,593 to Hill et al., issued on Apr. 8, 2008, assigned to SMART Technologies ULC, the disclosure of which is incorporated by reference in its entirety, multiple users may interact with the touch surface simultaneously.
As will be appreciated, in machine vision touch systems, when a single pointer is in the fields of view of multiple imaging devices, the position of the pointer in (x,y) coordinates relative to the touch surface typically can be readily computed using triangulation. Difficulties are however encountered when multiple pointers are in the fields of view of multiple imaging devices as a result of pointer ambiguity and occlusion. Ambiguity arises when multiple pointers in the images captured by the imaging devices cannot be differentiated. In such cases, during triangulation a number of possible positions for the pointers can be computed but no information is available to allow the correct pointer positions to be selected. Occlusion occurs when one pointer occludes another pointer in the field of view of an imaging device. In these instances, the image captured by the imaging device includes fewer pointers than the actual number of pointers. As a result, the correct positions of the pointers relative to the touch surface cannot be disambiguated from false pointer positions. As will be appreciated, improvements in multiple input interactive input systems are desired.
It is therefore an object of the present invention to provide a novel interactive input system and method of detecting objects.